package com.dingwen.treasure.base.util;

import lombok.experimental.UtilityClass;

/**
 * 　AreaUtil： 行政区划工具类： 采用此方式，而不是字符串截取补零什么的
 * 　@author dingwen
 * 　@date 2022/8/28
 */
@UtilityClass
public class AreaUtil {
    /**
     * @param areaCode 行政区划代码
     * @param mask     计算掩码
     * @return {@link String}
     */
    private  String calculate(String areaCode, Integer mask) {
        return String.valueOf(Long.parseLong(areaCode) / mask * mask);
    }

    /**
     * 得到县区行政区划代码
     *
     * @param areaCode 行政区划代码
     * @return {@link String}
     */
    public  String getCountyAreaCode(String areaCode){
        return calculate(areaCode,100);
    }

    /**
     * 得到市行政区划代码
     *
     * @param areaCode 行政区划代码
     * @return {@link String}
     */
    public  String getCityAreaCode(String areaCode){
        return calculate(areaCode, 10000);
    }

    /**
     * 获得省行政区划代码
     *
     * @param areaCode 行政区划代码
     * @return {@link String}
     */
    public  String getProvinceAreaCode(String areaCode){
        return calculate(areaCode,1000000);
    }
}
